Video compression standards are becoming complex, starting from MPEG1/2 to the latest generation video standards HEVC (high efficiency video coding)/H.265. There is also scaling in resolution from High Definition (HD) to Ultra-HD (4K) resolution. This leads to increase of 4× complexity. This is further compounded by frame rate scaling from 30 to 60 fps (frame per second), which means an increase of 2× complexity.
Thus, a video hardware engine requires huge computation power that can be met by hardwired solution over fully programmable solutions. Multi-format support is another critical requirement in portable devices like smartphones and tablets. Thus, the solution also needs to cater to multiple format video standards such as MPEG1/2/4, H.261/3/4/5, RV8/9, AVS, and VP6/7/8. Based on actual application and market needs, the video hardware engine is configured for various formats by means of firmware.
The multiple video standards require extension of border pixels on previous reconstructed frame, thus creating a reconstructed padded frame in an external memory. This is also known as padding. The reconstructed padded frame is large in size as compared to reconstructed frame. The reconstructed padded frame is stored in the external memory, and is used in video coding. This approach increases the overhead of the video hardware engine since an additional memory bandwidth is required for large sized reconstructed padded frames. The approach also degrades the performance of the video hardware engine.